#ifndef __IO_STUB_H__
#define __IO_STUB_H__

#include "base/object.h"

namespace MiniUI
{

#define IO_READ           0x00
#define IO_WRITE          0x01
#define IO_APPEND         0x02
#define IO_READEX         0x03
#define IO_WRITEEX        0x04
#define IO_APPENDEX       0x05

class BaseIOStub : public Object
{
protected:
    BaseIOStub(const char* szFileName, uint nflag);
    virtual ~BaseIOStub();
public:
    virtual size_t Read(void* buf, size_t size) = 0;
    virtual size_t Write(const void* buf, size_t size) = 0;
    virtual uint   Tell() = 0;
    virtual int    Seek(int offset, int origin) = 0;
};

}



#endif